<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2018/8/28
 * Time: 16:11
 */

//防止翻墙控制器
namespace Controller;

use Shop\Controller;

class TooController extends Controller{

    public function __construct()
    {
        //先执行父类的构造方法
        parent::__construct();

        //判断是否登录
        if(empty($_SESSION[SHOP]['user'])){
            //直接跳转
            $this->loca('Login','login');
        }

        //判断是否有权限
        $c=$_GET['C']; //类
        $f=$_GET['F']; //方法

        $access=$_SESSION['Admin']['user']['access']; //得到所有权限

        //可以直接判断,不需要处理,因为类名和方法名一点会不同
//        $num=0;
//        foreach ($access as $v){
//            if($c==$v['controll']){
//                //有类的权限
//                foreach($access as $j){
//                    if($f==$j['controll']){
//                        //有方法的权限
//                        $num=1;
//                        break;
//                    }
//                }
//                break;
//            }
//        }
//        if($num!=1){
//            $this->success('没有权限','Index','index');exit;
//        }

        //如果类名和方法名有相同的情况,不许先判断类名在判断方法名
        $arr=$this->sort($access);
        foreach ($arr as $v){
            if($v['controll']==$c){
                foreach ($v['parr'] as $j){
                    if($j['controll']==$f){
                        $num=1;
                    }
                }
            }
        }
        if($num!=1){
//            $this->success('没有权限','Index','index');exit;
        }
    }


    //排序无限极排序,二维数组变成三维数组
    //无限极排序方法
    public function sort($arr,$pid=0){
        //定义静态变量保存结果
        static $li=array();

        foreach ($arr as $k=>$v){
            if($v['pid']==$pid){
                $li[]=$v;

                unset($arr[$k]);

                $this->sort($arr,$v['id']);
            }
        }


        //把二维数组变成三维,二级分类在一级分类的里面
        $list=array();
        foreach ($li as $k=>$v){
            if($v['pid']==0){
                $list[]=$v;
            }else{
                $list[count($list)-1]['parr'][]=$v;
            }
        }

        return $list;
    }
}